<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
            "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>



<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<META name="GENERATOR" content="hevea 1.08">
<LINK rel="stylesheet" type="text/css" href="libman.css">
<TITLE>
Basic Constraints
</TITLE>
</HEAD>
<BODY >
<A HREF="libman033.html"><IMG SRC ="previous_motif.gif" ALT="Previous"></A>
<A HREF="libman032.html"><IMG SRC ="contents_motif.gif" ALT="Up"></A>
<A HREF="libman035.html"><IMG SRC ="next_motif.gif" ALT="Next"></A>
<HR>

<H2 CLASS="section"><A NAME="htoc71">6.2</A>&nbsp;&nbsp;Basic Constraints</H2>
The following constraints implement the basic relationships between
two domain values. The constraints require their arguments to come
from identical domains, otherwise an error is raised.
<DL CLASS="description" COMPACT=compact><DT CLASS="dt-description">
<A HREF="../bips/lib/ic_symbolic/YE-2.html"><B>?X &amp;= ?Y</B></A><A NAME="@default188"></A><DD CLASS="dd-description">
 X is the same as Y
<DT CLASS="dt-description"><A HREF="../bips/lib/ic_symbolic/YRE-2.html"><B>?X &amp;\= ?Y</B></A><DD CLASS="dd-description">
 <A NAME="@default189"></A>
 X is different from Y
<DT CLASS="dt-description"><A HREF="../bips/lib/ic_symbolic/YL-2.html"><B>?X &amp;&gt; ?Y</B></A><A NAME="@default190"></A><DD CLASS="dd-description">
 X is strictly before Y in the domain order
<DT CLASS="dt-description"><A HREF="../bips/lib/ic_symbolic/YG-2.html"><B>?X &amp;&lt; ?Y</B></A><A NAME="@default191"></A><DD CLASS="dd-description">
 X is strictly after Y in the domain order
<DT CLASS="dt-description"><A HREF="../bips/lib/ic_symbolic/YEL-2.html"><B>?X &amp;=&lt; ?Y</B></A><A NAME="@default192"></A><DD CLASS="dd-description">
 X is the same as Y, or before Y in the domain order
<DT CLASS="dt-description"><A HREF="../bips/lib/ic_symbolic/YGE-2.html"><B>?X &amp;&gt;= ?Y</B></A><A NAME="@default193"></A><DD CLASS="dd-description">
 X is the same as Y, or after Y in the domain order
<DT CLASS="dt-description"><A HREF="../bips/lib/ic_symbolic/shift-3.html"><B>shift(?X,?C,?Y)</B></A><A NAME="@default194"></A><DD CLASS="dd-description">
 Y is C places above X in the domain order.
 X and Y have symbolic domains, C has an integer domain.
<DT CLASS="dt-description"><A HREF="../bips/lib/ic_symbolic/rotate-3.html"><B>rotate(?X,?C,?Y)</B></A><A NAME="@default195"></A><DD CLASS="dd-description">
 like shift/3 but wraps at domain boundary.
<DT CLASS="dt-description"><A HREF="../bips/lib/ic_symbolic/element-3.html"><B>element(?Index,++List,?Value)</B></A><A NAME="@default196"></A><DD CLASS="dd-description">
 Value occurs List at position Index.
 Value has a symbolic domain, Index has an integer domain.
 List is a number of symbolic domain values.
</DL>
For example
<BLOCKQUOTE CLASS="quote"><PRE CLASS="verbatim">
?- [X, Y] &amp;:: weekday, X &amp;&lt; Y.
X = X{[mo, tu, we, th, fr, sa]}
Y = Y{[tu, we, th, fr, sa, su]}
Yes (0.00s cpu)

?- X &amp;:: weekday, X &amp;=&lt; we.
X = X{[mo, tu, we]}
Yes (0.00s cpu)
</PRE></BLOCKQUOTE>
<HR>
<A HREF="libman033.html"><IMG SRC ="previous_motif.gif" ALT="Previous"></A>
<A HREF="libman032.html"><IMG SRC ="contents_motif.gif" ALT="Up"></A>
<A HREF="libman035.html"><IMG SRC ="next_motif.gif" ALT="Next"></A>
</BODY>
</HTML>
